package com.gc.sql.ddl;

public final class CreateTable extends Object {
    private Create create;
    
    private Name name;
    
    private OpenBr openBr;
    
    private NewLine newLine;
    
    private ColumnsList columnsList;
    
    public CreateTable(Create create, Name name, OpenBr openBr, NewLine newLine, ColumnsList columnsList) {
        this.create = create;
        this.name = name;
        this.openBr = openBr;
        this.newLine = newLine;
        this.columnsList = columnsList;
    }
    private CreateTable() {
    }
    public static CreateBuilder builder() {
        CreateTable self = new CreateTable();
        return self.new CreateBuilder ();
    }
    public class CreateBuilder extends Object {
        private CreateBuilder () {}
        public NameBuilder create() {
            CreateTable.this.create = new Create ();
            return CreateTable.this.new NameBuilder ();
        }
    
    }
    public class NameBuilder extends Object {
        private NameBuilder () {}
        public OpenBrBuilder name(Name name) {
            CreateTable.this.name = name;
            return CreateTable.this.new OpenBrBuilder ();
        }
    
    }
    public class OpenBrBuilder extends Object {
        private OpenBrBuilder () {}
        public NewLineBuilder openBr() {
            CreateTable.this.openBr = new OpenBr ();
            return CreateTable.this.new NewLineBuilder ();
        }
    
    }
    public class NewLineBuilder extends Object {
        private NewLineBuilder () {}
        public ColumnsListBuilder newLine() {
            CreateTable.this.newLine = new NewLine ();
            return CreateTable.this.new ColumnsListBuilder ();
        }
    
    }
    public class ColumnsListBuilder extends Object {
        private ColumnsListBuilder () {}
        public CreateTable columnsList(ColumnsList columnsList) {
            CreateTable.this.columnsList = columnsList;
            return CreateTable.this;
        }
    
    }
        @Override
        public String toString() {
            return String.valueOf(create)+" "+String.valueOf(name)+" "+String.valueOf(openBr)+" "+String.valueOf(newLine)+" "+String.valueOf(columnsList);
        }

}
